I. Technical Field
The present invention generally relates to computer systems and software. More particularly, the invention relates to systems and method for personalizing software programs in a computer system.
II. Background Information
In the present description, a software program shall be defined as being equivalent to a software application, i.e., a user program or an application, and refers to the software program in need of the personalization data of an end-user as selection criteria to be able to start-up. The concept of personalizing data for specific software applications is known in the art. This involves storing pairs of characteristic name-characteristic values of users. The purpose of the personalization is for predefinition in a user-specific fashion and the saving of these characteristic name-characteristic value pairs, which are needed by a software application for its execution.
In this context, the end-user is the user or “applier” of the software application, i.e., the individual ultimately executing a software application. Usually, the software application is in need of personalization data of the end-user as selection criteria in order to be able to start-up. An administrator is also a user, but one whose administrator rights authorize him or her to store personalization data for end-users.
Personalization data (for a certain personalization characteristic) are called characteristics flags (for a certain personalization characteristic). Therefore, these are characteristics values (for a certain personalization characteristic), i.e., personal selection criteria (for a certain personalization characteristic) of an end-user, i.e., the flags of a certain personalization characteristic deposited per end-user. The personalization involves the capture of the personalization data for a personalization characteristic (characteristics flags) that are captured.
With regard to a personalization characteristic, personalization data, i.e., the actual flags or values for this characteristic, are deposited in the process of personalization.
However, the practical application of a personalization of software programs in large computer systems, i.e., in systems in which many end-users start-up software applications, or in large, comprehensive software program packages, face the following problems which are not solved in a satisfactory fashion by prior approaches.
There may be a very large amount of personalization data which needs to be managed in an appropriate fashion. This applies both to the amount of personalization data per end-user and to the total amount of personalization data to be taken into consideration in the computer system for all end-users.
Furthermore, upon start-up of a software application in a large computer system with many end-users or with a large amount of personalization data of an end-user or in a large software program package, there is considerable resource use required for data transfer and for data harmonization in order to compile and take into consideration the personalization data needed for the execution of the software application.
Finally, the maintenance of the personalization data is also resource-intensive. Usually, the maintenance of the personalization data is performed by the end-users, who often expend considerable efforts in setting in a harmonized fashion the multiplicity of options contained in a large software program to suit their needs. This also put demands on the system administrator, since measures must be undertaken in the computer system to ensure that end-users do not over-step their authorization. Taken together, this results in considerable efforts being expended by the system administrator and the end-user in setting up individual personalization data and adapting such data to changing needs.
—Whereas simple software applications usually can manage with a simple form of personalization, i.e., with simple combinations of characteristic name-characteristic value, the requirements of microeconomic software applications with regard to a personalization framework are significantly more extensive due to their complexity.
U.S. Pat. Nos. 6,324,578 and 5,832,505 disclose methods for application configuration of software applications involving personalization in a less-strict sense, in which aspects of administration, configuration, and customizing of software applications are fulfilled in the adaptation of a system to the end-user. However, an application configuration of this type does not necessarily include an adaptation to the needs or preferences of an end-user, i.e., a personalization in a stricter sense is not necessarily performed. The personalization in a stricter sense according to the present invention is an individualization that is performed for end-users, but not necessarily by the end-users. This form of adaptation in a stricter sense optimizes the working habits of the end-users and is valid for longer than just one working session.
In U.S. Pat. No. 6,324,578, user preferences are being used, which may be interpreted to be individualizations in a less strict sense, i.e., administration, configuration or customizing settings. These settings are combined into so-called configuration sets. The configuration sets are stored in the form of files. It is not possible, however, to capture and save personalization data on the level of individual characteristics. Administrators save data or files for user groups or roles, rather than on the level of the individual end-user. Therefore, the known method is relatively inflexible.
Moreover, although U.S. Pat. No. 6,324,578 mentions that there may be various sources for the determination of personalization data, no actual solution to the central problem of where these sources originate is provided. In the personalization process, the problem of where this personalization data originates, for example, whether this data is derived from somewhere, e.g., from the context, or if all of it needs to be maintained manually, needs to be solved.
On the basis of know approaches as described above, an object of the invention is to provide a system and method for personalizing software programs of the type mentioned above, in which the deposition and maintenance of personalization data is performed as part of an individualization, i.e., a personalization in the stricter sense, in a simpler fashion.